<?php

namespace app\model;

use support\Model;

class BaseModel extends Model
{
    /**
     * 指示模型主键是否递增
     *
     * @var bool
     */
    public $incrementing = false;

    /**
     * 自动递增ID的“类型”。
     *
     * @var string
     */
    protected $keyType = 'string';

    /**
     * 不可批量赋值的属性。
     *
     * @var array
     */
    protected $guarded = [];

    protected $casts = [
//        'created_at' => 'date:Y-m-d H:i:s',
//        'updated_at' => 'date:Y-m-d H:i:s',
        'created_at' => 'timestamp',
        'updated_at' => 'timestamp',
    ];

    /**
     * 模型启动方法
     */
    protected static function boot()
    {
        parent::boot();

        // 在创建模型时自动生成ID
        static::creating(function ($model) {
            if (empty($model->{$model->getKeyName()})) {
                $model->{$model->getKeyName()} = randomString();
            }
        });
    }
}